
#include <mockcpp/mockcpp.hpp>
#include <testngpp/testngpp.hpp>
#include <Quantity.h>

USING_MOCKCPP_NS
USING_TESTNGPP_NS

FIXTURE(Volume)
{
	typedef Quantity<class VolumeUnit> Volume;

	TEST(should compare TBSP with TSP under Volume system: 1 TBSP == 3 TSP)
	{
		ASSERT_TRUE(Volume(1, TBSP) == Volume(3, TSP)); 
	}

	TEST(should compare OZ with TBSP under Volume system: 1 OZ == 2 TBSP)
	{
		ASSERT_TRUE(Volume(1, OZ) == Volume(2, TBSP)); 
	}
	
	TEST(should compare OZ with TSP under Volume system: 1 OZ == 6 TSP)
	{
		ASSERT_TRUE(Volume(1, OZ) == Volume(6, TSP)); 
	}
	
	TEST(should get the sum with unit of OZ, TBSP, or TSP under Volume system: 1 OZ + 5 TSP + 2 TBSP == 17 TSP)
	{
		ASSERT_TRUE(Volume(1, OZ) + Volume(5, TSP) + Volume(2, TBSP) == Volume(17, TSP)); 
	}
};
